package com.ly.aps.system.provider.service.impl;


import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ly.aps.system.model.vo.ModelVo;
import com.ly.aps.system.provider.mapper.ItemConfigMapper;
import com.ly.aps.system.provider.model.ItemConfig;
import com.ly.aps.system.provider.service.ItemConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;

@Service
@Slf4j
public class ItemConfigServiceImpl extends ServiceImpl<ItemConfigMapper, ItemConfig> implements ItemConfigService {
    @Autowired
    ItemConfigMapper mapper;

    @Override
    public List<ItemConfig> getItemConfigList() {
        List<ItemConfig> itemConfigList = mapper.selectList(null);
        return itemConfigList;
    }

    @Override
    public Page<ItemConfig> getItemConfigList(int pageNo, int pageSize) {
        Page<ItemConfig> page = new Page<>(pageNo, pageSize);
        mapper.selectPage(page, null);
//        Long total = page.getTotal()/10;
//        if (page.getTotal() % 10 > 0) {
//            total += 1;
//        }
//        HashMap<String, Object> result = new HashMap<>();
//        result.put("totalPage",total);
//        List<ItemConfig> itemConfigList = page.getRecords();
//        result.put("itemConfigList",itemConfigList);
        return page;
    }

    @Override
    public int addItemConfig(ItemConfig itemConfig) {
        int insert = mapper.insert(itemConfig);
        return insert;
    }

    @Override
    public int updateItemConfig(ItemConfig itemConfig) {
        UpdateWrapper<ItemConfig> wrapper = new UpdateWrapper<>();
        wrapper.eq("validate_rule",itemConfig.getValidateRule());
        int update = mapper.update(itemConfig,wrapper);
        if (update > 0) {
            return update;
        } else {
            return -1;
        }
    }
}
